package com.glela.serial.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.glela.serial.model.Serial;

/**
 * 期资讯
 * 
 * @author 卫耀华
 *
 */
public interface SerialMapper {
	/**
	 * <dl>
	 * <dt>查询首页推荐分类</dt>
	 * </dl>
	 * @return List<Serial>
	 * @author zls
	 * @date 2017年7月7日 下午1:30:38
	 */
	public List<Serial> selectSerials();

	/**
	 * 首页今日推荐需要5个期资讯
	 * 
	 * @author 卫耀华
	 * @return
	 */
	public List<Serial> selectSerialLimit5();

	/**
	 * 首页今日推荐前6个期资讯ID的集合
	 * 
	 * @return
	 */
	public List<Integer> selectSerialIdsLimit5();

	/**
	 * 首页今日推荐旁边点击更多
	 * 
	 * @author 卫耀华
	 * @date 2016-10-21
	 * @param idList
	 * @param pageLimit
	 * @param pageSize
	 * @return
	 */
	public List<Serial> getMoreNomalSerialList(@Param("idList") List<Integer> idList, @Param("pageLimit") int pageLimit,
			@Param("pageSize") int pageSize);

	/**
	 * 首页今日推荐旁边点击更多（获取总条数）
	 * 
	 * @author 卫耀华
	 * @date 2016-10-21
	 * @return
	 */
	public int countMoreNomalSerialNum(@Param("idList") List<Integer> idList);

	/**
	 * 品牌发布的期分页
	 * 
	 * @author 卫耀华
	 * @param serialIdList
	 * @param pageLimit
	 * @param pageSize
	 * @return
	 */
	public List<Serial> selectSerialListByPaginiton(@Param("serialIdList") List<Integer> serialIdList,
			@Param("pageLimit") int pageLimit, @Param("pageSize") int pageSize);

	/**
	 * 品牌发布的期的总数
	 * 
	 * @author 卫耀华
	 * @param serialIdList
	 * @return
	 */
	public int selectSerialNumForBrand(@Param("serialIdList") List<Integer> serialIdList);

	/**
	 * 福利社期符合条件的期资讯分页
	 * 
	 * @author 卫耀华
	 * @param pageLimit
	 * @param pageSize
	 * @return
	 */
	public List<Serial> selectFulisheSerialList(@Param("pageLimit") int pageLimit, @Param("pageSize") int pageSize);

	/**
	 * 福利社期符合条件的期资讯总数
	 * 
	 * @author 卫耀华
	 * @return
	 */
	public int selectFulisheSerialNum();

	/**
	 * 根据期资讯ID获取本期详情
	 * 
	 * @author 卫耀华
	 * @param serialId
	 * @return
	 */
	public Serial selectSerialById(@Param("id") int id);

	/**
	 * 期浏览量+1
	 * 
	 * @author 卫耀华
	 * @param serialId
	 */
	public void updateSerialSeeCount(@Param("serialId") int serialId);

	/**
	 * 热门资讯(浏览数最多的资讯)
	 * 
	 * @author 卫耀华
	 * @return
	 */
	public List<Serial> selectHotSerials();
}
